/*3：定义兑换礼品的方法
  假设
     1：100分兑换餐巾纸一包；
     2：400分兑换剃须刀一把；
     3：1000分兑换炒锅一个；
 用户输入卡号和需要兑换的奖品，兑换成功后扣除相应积分(礼品类不需要定义，用String返回即可)；
如果帐号不存在，或者积分不够，兑换失败(提示:如果兑换成功,需要扣除相应的积分)。
  如果不成功，返回null。声明如下：
   public String duihuan(String cardNo,int lipingleixing)*/
package Work0508;

public class GiftConvert {
	User[] use = new User[10];

	/**
	 * 添加用户
	 * 
	 * @param newCard 用户编号
	 * @return 返回是否添加成功
	 */
	public boolean addUse(String newCard) {
		for (int a = 0; a < use.length; a++) {
			if (use[a] == null) {
				use[a] = new User();
				use[a].cardName = newCard;
				use[a].num = (int) (Math.random() * 801 + 400);// 随机赠送积分800~1200
				return true;
			}
		}
		return false;
	}

	/**
	 * 兑换礼物，先验证是否存在该用户，在进行礼物兑换
	 * 
	 * @param cardNo        用户编号
	 * @param lipingleixing 想要兑换的礼物序号
	 * @return 返回是否兑换成功
	 */
	public String duihuan(String cardNo, int lipingleixing) {
		for (int b = 0; b < use.length; b++) {
			if (use[b] != null) {
				if (use[b].cardName.equals(cardNo)) {
					if (lipingleixing == 1) {
						if (use[b].num < 100) {
							return "抱歉积分不足";
						}
						use[b].num -= 100;
						return "恭喜获得餐巾纸一包";
					} else if (lipingleixing == 2) {
						if (use[b].num < 400) {
							return "抱歉积分不足";
						}
						use[b].num -= 400;
						return "恭喜获得剃须刀一把";
					} else if (lipingleixing == 3) {
						if (use[b].num < 1000) {
							return "抱歉积分不足";
						}
						use[b].num -= 1000;
						return "恭喜获得炒锅一个";
					}

				}

			}
		}
		return null;
	}

	/**
	 * 展示用户信息，用与验证兑换后，积分是否改变
	 */
	public void showUse() {
		for (int c = 0; c < use.length; c++) {
			if (use[c] != null) {
				use[c].show();
			}
		}
	}

}
